package org.jxht.service.impl;

import org.jxht.dto.entity.ResponseCourseEntity;
import org.jxht.dto.entity.RequestScheduleEntity;
import org.jxht.dao.CourseDao;
import org.jxht.dao.ScheduleDao;
import org.jxht.dto.AdminDto;
import org.jxht.dto.CourseDto;
import org.jxht.dto.entity.ResponseScheduleEntity;
import org.jxht.service.CourseService;
import org.jxht.util.ConstantUtils;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * Created by huang on 2017/3/15 0015.
 */
@Service
public class CourseServiceImpl implements CourseService{

    @Resource
    CourseDao courseDao;

    @Resource
    ScheduleDao scheduleDao;

//    添加课程
    public void insertCourseService(CourseDto dto) {
        courseDao.insertCourseDao(dto);
    }
//    多条课程记录
    public List queryCourseService(CourseDto dto) {
        return courseDao.queryCourseDao(dto);
    }
//    查询一条课程记录
    public CourseDto queryCourseServiceById(CourseDto dto) {
        return (CourseDto) courseDao.queryCourseDao(dto).get(0);
    }
//    更新课程信息
    public void updataCourseService(CourseDto dto) {
        courseDao.updataCourseDao(dto);
    }
//    删除课程
    public void deleteCourseService(CourseDto dto) {
        courseDao.deleteCourseDao(dto);
    }
//    课程详情
    public List queryCourseDetail(ResponseCourseEntity entity){
        return  courseDao.queryCourse(entity);
    }
//    控制选修课程开启
    public void updataElectiveCourse(AdminDto dto){
        courseDao.updataElectiveCourse(dto);
    }
//    查询选修课程是否开启
    public int queryaElectiveCourse(){
        return courseDao.queryaElectiveCourse().getelectiveYn();
    }
//    教师、学生查询课程表
    public List<ResponseScheduleEntity> queryStuSchedule(long userId, String status) {
        RequestScheduleEntity entity = new RequestScheduleEntity(userId);
        if(ConstantUtils.STU_ID.equals(status)) {
            return scheduleDao.queryStuScheduleDao(entity);
        }else {
            return scheduleDao.queryTeaScheduleDao(entity);
        }
    }

}
